/*
 * 파일 객체 스킨.
 * 
 * 사용법
 * 1. 본 파일 가져오기
 * 	<script src=".../fileSkin.js"></script>
 * 
 * 2. 페이지 오픈시 setFileSkin() 함수 호출.
 * 	$(function() {
 * 		setFileSkin();
 * 	};
 */

function setFileSkin() {
	//파일 css 설정.
	$("input[type=file")
		.css("opacity", 0)
		.css("filter", "alpha(opacity=0)")
		.css("position", "absolute")
		.css("right", 0)
		.css("top", 0)
		.css("cursor", "pointer")
		.css("font-size", 40);
	
	//부모 div.
	var divObj = $("<div/>", {
		class: "upload"
	});
	$(divObj)
		.css("overflow", "hidden")
		.css("position", "relative")
		.css("background", "#222222")
		.css("cursor", "pointer")
		.css("text-align", "center");
	
	//파일명 span.
	var spanObj = $("<span/>");
	$(spanObj)
		.css("color", "#fce000")
		.css("font-weight", "bold")
		.css("cursor", "pointer")
		.css("line-height", "2em");
	
	var files = $("input[type=file");
	for(var i = 0; i < files.length; i++) {
		var cloneDiv = divObj.clone();
		var cloneSpan = spanObj.clone();
		$(cloneDiv).insertBefore( files[i] );
		$(cloneDiv).append( files[i] );
		$(cloneSpan).attr( "id", $(files[i]).attr("id") + "_text" );
		$(cloneSpan).html( "파일 선택 +" );
		$(cloneDiv).append( cloneSpan );
		
		$(files[i]).change(function() {
			var fileUri = this.value.split("\\");
			$("#" + this.id + "_text").html( fileUri[ fileUri.length > 1 ? fileUri.length - 1 : this.value ] );
		});
		
		$(files[i]).click(function() {
			fileClear(this);
			$("#" + this.id + "_text").html( "파일 선택 +" );
		});
	}
}

function fileClear( targetObj ) {
	var apps = navigator.appVersion;
	
	if ( apps.indexOf("MSIE") > -1 ) {
		if(apps.indexOf("MSIE 1") > -1) {
			$(targetObj).val("");
			return;
		}
		targetObj.select();
		document.selection.clear();
	} else {
		$(targetObj).val("");
	}
}